{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [聚合与分组](03.08-Aggregation-and-Grouping.ipynb) | [目录](Index.ipynb) | [向量化的字符串操作](03.10-Working-With-Strings.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/wangyingsm/Python-Data-Science-Handbook/blob/master/notebooks/03.09-Pivot-Tables.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pivot Tables\n",
    "\n",
    "# 数据透视表"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We have seen how the ``GroupBy`` abstraction lets us explore relationships within a dataset.\n",
    "A *pivot table* is a similar operation that is commonly seen in spreadsheets and other programs that operate on tabular data.\n",
    "The pivot table takes simple column-wise data as input, and groups the entries into a two-dimensional table that provides a multidimensional summarization of the data.\n",
    "The difference between pivot tables and ``GroupBy`` can sometimes cause confusion; it helps me to think of pivot tables as essentially a *multidimensional* version of ``GroupBy`` aggregation.\n",
    "That is, you split-apply-combine, but both the split and the combine happen across not a one-dimensional index, but across a two-dimensional grid.\n",
    "\n",
    "上一节我们学习了使用`GroupBy`来处理数据集之间的关系。*数据透视表*也是一个类似的操作，我们经常会在电子表格或其他处理表格数据的程序中看到它。数据透视表将列状的数据作为输入，然后将它们组合到一个二维的表格中，通过这种组合结果提供数据在多个维度上的统计数据。数据透视表和`GroupBy`之间的区别经常会造成一些混乱；如果我们将数据透视表想象成一个*多维*版本的`GroupBy`聚合，会容易很多。也就是说，依然通过拆分-应用-组合的步骤，不过不是在一维的索引上进行，而是在二维的表格中进行。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Motivating Pivot Tables\n",
    "\n",
    "## 进入数据透视表\n",
    "\n",
    "> For the examples in this section, we'll use the database of passengers on the *Titanic*, available through the Seaborn library (see [Visualization With Seaborn](04.14-Visualization-With-Seaborn.ipynb)):\n",
    "\n",
    "本小节的例子，我们将采用*泰坦尼克*的乘客数据，同样来自Seaborn库（参见[使用Seaborn进行可视化](04.14-Visualization-With-Seaborn.ipynb)）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "titanic = sns.load_dataset('titanic')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "      <th>pclass</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>sibsp</th>\n",
       "      <th>parch</th>\n",
       "      <th>fare</th>\n",
       "      <th>embarked</th>\n",
       "      <th>class</th>\n",
       "      <th>who</th>\n",
       "      <th>adult_male</th>\n",
       "      <th>deck</th>\n",
       "      <th>embark_town</th>\n",
       "      <th>alive</th>\n",
       "      <th>alone</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Cherbourg</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>S</td>\n",
       "      <td>First</td>\n",
       "      <td>woman</td>\n",
       "      <td>False</td>\n",
       "      <td>C</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>yes</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>S</td>\n",
       "      <td>Third</td>\n",
       "      <td>man</td>\n",
       "      <td>True</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Southampton</td>\n",
       "      <td>no</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   survived  pclass     sex   age  sibsp  parch     fare embarked  class  \\\n",
       "0         0       3    male  22.0      1      0   7.2500        S  Third   \n",
       "1         1       1  female  38.0      1      0  71.2833        C  First   \n",
       "2         1       3  female  26.0      0      0   7.9250        S  Third   \n",
       "3         1       1  female  35.0      1      0  53.1000        S  First   \n",
       "4         0       3    male  35.0      0      0   8.0500        S  Third   \n",
       "\n",
       "     who  adult_male deck  embark_town alive  alone  \n",
       "0    man        True  NaN  Southampton    no  False  \n",
       "1  woman       False    C    Cherbourg   yes  False  \n",
       "2  woman       False  NaN  Southampton   yes   True  \n",
       "3  woman       False    C  Southampton   yes  False  \n",
       "4    man        True  NaN  Southampton    no   True  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This contains a wealth of information on each passenger of that ill-fated voyage, including gender, age, class, fare paid, and much more.\n",
    "\n",
    "这个数据集包含了每一个乘客在他们的那次致命之旅中的很多信息，包括性别、年龄、舱位、票价等等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pivot Tables by Hand\n",
    "\n",
    "## 手动生成数据透视表\n",
    "\n",
    "> To start learning more about this data, we might begin by grouping according to gender, survival status, or some combination thereof.\n",
    "If you have read the previous section, you might be tempted to apply a ``GroupBy`` operation–for example, let's look at survival rate by gender:\n",
    "\n",
    "在深入分析数据之前，我们首先根据性别和存活状态的相关性进行分组。根据上一节的内容，你可能会自然而然地使用`GroupBy`操作，例如，让我们来获得不同性别的存活率："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>survived</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.742038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.188908</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        survived\n",
       "sex             \n",
       "female  0.742038\n",
       "male    0.188908"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.groupby('sex')[['survived']].mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This immediately gives us some insight: overall, three of every four females on board survived, while only one in five males survived!\n",
    "\n",
    "这个结果立刻能给我们一些数据的内在意义：普遍来说，四分之三的女性都存活了下来，而只有五分之一的男性存活了下来！\n",
    "\n",
    "> This is useful, but we might like to go one step deeper and look at survival by both sex and, say, class.\n",
    "Using the vocabulary of ``GroupBy``, we might proceed using something like this:\n",
    "we *group by* class and gender, *select* survival, *apply* a mean aggregate, *combine* the resulting groups, and then *unstack* the hierarchical index to reveal the hidden multidimensionality. In code:\n",
    "\n",
    "这很有用，但是我们可能希望进一步了解根据性别和舱位来统计存活率。如果我们用`GroupBy`的方法来描述这个过程的话，那么很可能是这样的：我们使用舱位和性别来*分组*，*选择*存活状态，*应用*平均值聚合操作，将结果的分组*组合*起来，然后*展开*成层次化的索引来展示隐藏的高维度。代码如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third\n",
       "sex                                 \n",
       "female  0.968085  0.921053  0.500000\n",
       "male    0.368852  0.157407  0.135447"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.groupby(['sex', 'class'])['survived'].aggregate('mean').unstack()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This gives us a better idea of how both gender and class affected survival, but the code is starting to look a bit garbled.\n",
    "While each step of this pipeline makes sense in light of the tools we've previously discussed, the long string of code is not particularly easy to read or use.\n",
    "This two-dimensional ``GroupBy`` is common enough that Pandas includes a convenience routine, ``pivot_table``, which succinctly handles this type of multi-dimensional aggregation.\n",
    "\n",
    "结果给了我们一个更好的关于性别和舱位是如何影响存活率的视角，但是代码已经开始显得有点混乱和难以阅读了。当我们采用之前的知识来实现这个操作流的每一步的时候，代码会变得越来越长，将会越来越难以使用和阅读。这种二维的`GroupBy`对于在Pandas中进行普通分组统计时是足够的，而透视表`pivot_table`，能简洁的处理这种多维度的聚合操作。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Pivot Table Syntax\n",
    "\n",
    "## 数据透视表语法\n",
    "\n",
    "> Here is the equivalent to the preceding operation using the ``pivot_table`` method of ``DataFrame``s:\n",
    "\n",
    "下面是我们使用`DataFrame`的`pivot_table`来实现这个操作的版本："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third\n",
       "sex                                 \n",
       "female  0.968085  0.921053  0.500000\n",
       "male    0.368852  0.157407  0.135447"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table('survived', index='sex', columns='class')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This is eminently more readable than the ``groupby`` approach, and produces the same result.\n",
    "As you might expect of an early 20th-century transatlantic cruise, the survival gradient favors both women and higher classes.\n",
    "First-class women survived with near certainty (hi, Rose!), while only one in ten third-class men survived (sorry, Jack!).\n",
    "\n",
    "上面的语法明显比`groupby`版本要易读多了，两者的结果是一致的。结果告诉我们如果要搭乘20世纪初的跨大西洋游轮的话，生存几率更加青睐于女性和高级舱位。头等舱女性几乎全部存活（Rose你好），而三等舱的男性只有十分之一的几率存活（Jack抱歉）。\n",
    "\n",
    "译者注：Jack和Rose是1997年电影《泰坦尼克号》的男女主角名字，导演是James Carmeron。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Multi-level pivot tables\n",
    "\n",
    "### 多层透视表\n",
    "\n",
    "> Just as in the ``GroupBy``, the grouping in pivot tables can be specified with multiple levels, and via a number of options.\n",
    "For example, we might be interested in looking at age as a third dimension.\n",
    "We'll bin the age using the ``pd.cut`` function:\n",
    "\n",
    "就像`GroupBy`那样，数据透视表的分组也可以指定多层次，还可以指定其他多个参数。例如，我们可能想要将年龄作为第三个维度。我们可以使用`pd.cut`将年龄进行分桶："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">female</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>0.909091</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.511628</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.900000</td>\n",
       "      <td>0.423729</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">male</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>0.800000</td>\n",
       "      <td>0.600000</td>\n",
       "      <td>0.215686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.375000</td>\n",
       "      <td>0.071429</td>\n",
       "      <td>0.133663</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class               First    Second     Third\n",
       "sex    age                                   \n",
       "female (0, 18]   0.909091  1.000000  0.511628\n",
       "       (18, 80]  0.972973  0.900000  0.423729\n",
       "male   (0, 18]   0.800000  0.600000  0.215686\n",
       "       (18, 80]  0.375000  0.071429  0.133663"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age = pd.cut(titanic['age'], [0, 18, 80])\n",
    "titanic.pivot_table('survived', ['sex', age], 'class')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We can apply the same strategy when working with the columns as well; let's add info on the fare paid using ``pd.qcut`` to automatically compute quantiles:\n",
    "\n",
    "我们也可以将相同的方法应用到列上；下面我们在列上加上船票费用分组，使用`pd.qcut`将费用按比例自动分桶："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>fare</th>\n",
       "      <th colspan=\"3\" halign=\"left\">(-0.001, 14.454]</th>\n",
       "      <th colspan=\"3\" halign=\"left\">(14.454, 512.329]</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">female</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.714286</td>\n",
       "      <td>0.909091</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.318182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.880000</td>\n",
       "      <td>0.444444</td>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.914286</td>\n",
       "      <td>0.391304</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">male</th>\n",
       "      <th>(0, 18]</th>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.260870</td>\n",
       "      <td>0.800000</td>\n",
       "      <td>0.818182</td>\n",
       "      <td>0.178571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(18, 80]</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.098039</td>\n",
       "      <td>0.125000</td>\n",
       "      <td>0.391304</td>\n",
       "      <td>0.030303</td>\n",
       "      <td>0.192308</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "fare            (-0.001, 14.454]                     (14.454, 512.329]  \\\n",
       "class                      First    Second     Third             First   \n",
       "sex    age                                                               \n",
       "female (0, 18]               NaN  1.000000  0.714286          0.909091   \n",
       "       (18, 80]              NaN  0.880000  0.444444          0.972973   \n",
       "male   (0, 18]               NaN  0.000000  0.260870          0.800000   \n",
       "       (18, 80]              0.0  0.098039  0.125000          0.391304   \n",
       "\n",
       "fare                                 \n",
       "class              Second     Third  \n",
       "sex    age                           \n",
       "female (0, 18]   1.000000  0.318182  \n",
       "       (18, 80]  0.914286  0.391304  \n",
       "male   (0, 18]   0.818182  0.178571  \n",
       "       (18, 80]  0.030303  0.192308  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fare = pd.qcut(titanic['fare'], 2)\n",
    "titanic.pivot_table('survived', ['sex', age], [fare, 'class'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> The result is a four-dimensional aggregation with hierarchical indices (see [Hierarchical Indexing](03.05-Hierarchical-Indexing.ipynb)), shown in a grid demonstrating the relationship between the values.\n",
    "\n",
    "结果是一个四维的统计表，行和列都具有层次化的索引（参见[层次化索引](03.05-Hierarchical-Indexing.ipynb)），以表格的形式展示了对应四个不同维度的聚合数据。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Additional pivot table options\n",
    "\n",
    "### 其他透视表参数\n",
    "\n",
    "> The full call signature of the ``pivot_table`` method of ``DataFrame``s is as follows:\n",
    "\n",
    "`DataFrame`的`pivot_table`方法的完整签名如下：\n",
    "\n",
    "```python\n",
    "# pivot_table的签名，Pandas版本0.24.2\n",
    "pd.pivot_table(\n",
    "    data, # DataFrame，当为方法时，这里是self\n",
    "    values=None, # 用来聚合的列\n",
    "    index=None, # 行索引，行分组的条件\n",
    "    columns=None, # 列索引，列分组的条件\n",
    "    aggfunc='mean', # 聚合函数，默认平均值\n",
    "    fill_value=None, # NA值的替代值\n",
    "    margins=False, # 总计，行与列相加的结果\n",
    "    dropna=True, # 是否移除含有NA值的列\n",
    "    margins_name='All', # 总计的行和列的标签\n",
    ")\n",
    "```\n",
    "\n",
    "> We've already seen examples of the first three arguments; here we'll take a quick look at the remaining ones.\n",
    "Two of the options, ``fill_value`` and ``dropna``, have to do with missing data and are fairly straightforward; we will not show examples of them here.\n",
    "\n",
    "前三个参数（除data外）前面的例子中已经介绍过了；这里我们简单的介绍余下的几个参数。其中的`fill_value`和`dropna`与数据集的缺失值相关，前面我们也都看到过；这里我们就不举例了。\n",
    "\n",
    "> The ``aggfunc`` keyword controls what type of aggregation is applied, which is a mean by default.\n",
    "As in the GroupBy, the aggregation specification can be a string representing one of several common choices (e.g., ``'sum'``, ``'mean'``, ``'count'``, ``'min'``, ``'max'``, etc.) or a function that implements an aggregation (e.g., ``np.sum()``, ``min()``, ``sum()``, etc.).\n",
    "Additionally, it can be specified as a dictionary mapping a column to any of the above desired options:\n",
    "\n",
    "`aggfunc`参数指定数据透视表使用的聚合函数，默认是平均值`'mean'`。就像`GroupBy`中一样，聚合函数可以通过函数名称的字符串来指定（例如``'sum'``、``'mean'``、``'count'``、``'min'``、``'max'``等）。除此之外，也可以通过一个字典将列与聚合函数对应起来作为`aggfunc`的参数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"3\" halign=\"left\">fare</th>\n",
       "      <th colspan=\"3\" halign=\"left\">survived</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>106.125798</td>\n",
       "      <td>21.970121</td>\n",
       "      <td>16.118810</td>\n",
       "      <td>91</td>\n",
       "      <td>70</td>\n",
       "      <td>72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>67.226127</td>\n",
       "      <td>19.741782</td>\n",
       "      <td>12.661633</td>\n",
       "      <td>45</td>\n",
       "      <td>17</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              fare                       survived             \n",
       "class        First     Second      Third    First Second Third\n",
       "sex                                                           \n",
       "female  106.125798  21.970121  16.118810       91     70    72\n",
       "male     67.226127  19.741782  12.661633       45     17    47"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table(index='sex', columns='class',\n",
    "                    aggfunc={'survived':sum, 'fare':'mean'})"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Notice also here that we've omitted the ``values`` keyword; when specifying a mapping for ``aggfunc``, this is determined automatically.\n",
    "\n",
    "上面的例子中，`values`参数也被忽略了；当我们将列和聚合函数映射的字典传递到`aggfunc`参数时，进行聚合的列显然是不需要指定的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "> At times it's useful to compute totals along each grouping.\n",
    "This can be done via the ``margins`` keyword:\n",
    "\n",
    "很多时候，对每个组进行总计（或者小计）是很有用的。这可以通过指定`margins`参数来计算："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>class</th>\n",
       "      <th>First</th>\n",
       "      <th>Second</th>\n",
       "      <th>Third</th>\n",
       "      <th>All</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>0.968085</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.500000</td>\n",
       "      <td>0.742038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>0.368852</td>\n",
       "      <td>0.157407</td>\n",
       "      <td>0.135447</td>\n",
       "      <td>0.188908</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>0.629630</td>\n",
       "      <td>0.472826</td>\n",
       "      <td>0.242363</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "class      First    Second     Third       All\n",
       "sex                                           \n",
       "female  0.968085  0.921053  0.500000  0.742038\n",
       "male    0.368852  0.157407  0.135447  0.188908\n",
       "All     0.629630  0.472826  0.242363  0.383838"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "titanic.pivot_table('survived', index='sex', columns='class', margins=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Here this automatically gives us information about the class-agnostic survival rate by gender, the gender-agnostic survival rate by class, and the overall survival rate of 38%.\n",
    "The margin label can be specified with the ``margins_name`` keyword, which defaults to ``\"All\"``.\n",
    "\n",
    "结果最后一行展示了所有性别不同舱位的存活率，最后一列展示了所有舱位不同性别的存活率，而右下角的数字代表总体存活率，约为38%。总计（或小计）的标签可以通过`margins_name`参数来制定，默认为`\"All\"`。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example: Birthrate Data\n",
    "\n",
    "## 例子：出生率数据\n",
    "\n",
    "> As a more interesting example, let's take a look at the freely available data on births in the United States, provided by the Centers for Disease Control (CDC).\n",
    "This data can be found at https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv\n",
    "(this dataset has been analyzed rather extensively by Andrew Gelman and his group; see, for example, [this blog post](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/)):\n",
    "\n",
    "下面来看一个更有趣的例子，使用由疾控中心提供的可自由获取使用的美国的人口出生数据。这个数据集可以在https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv 找到（Andrew Gelman和他的团队深入分析了这个数据集，例如可以参见[这篇博文](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/)）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 如果你没有该数据集，可以用下面这条命令来下载它\n",
    "# !curl -O https://raw.githubusercontent.com/jakevdp/data-CDCbirths/master/births.csv"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "births = pd.read_csv('data/births.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Taking a look at the data, we see that it's relatively simple–it contains the number of births grouped by date and gender:\n",
    "\n",
    "大致浏览一遍这个数据集，发现它其实相对来说很简单，包括某年某月某日出生的男孩和女孩的个体数："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>day</th>\n",
       "      <th>gender</th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4046</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>1.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4440</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4454</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>2.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4548</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1969</td>\n",
       "      <td>1</td>\n",
       "      <td>3.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4548</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   year  month  day gender  births\n",
       "0  1969      1  1.0      F    4046\n",
       "1  1969      1  1.0      M    4440\n",
       "2  1969      1  2.0      F    4454\n",
       "3  1969      1  2.0      M    4548\n",
       "4  1969      1  3.0      F    4548"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We can start to understand this data a bit more by using a pivot table.\n",
    "Let's add a decade column, and take a look at male and female births as a function of decade:\n",
    "\n",
    "我们可以通过使用数据透视表来更好的理解这个数据集。让我们加一列年代，来看一下每十年男孩和女孩的出生总数："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>gender</th>\n",
       "      <th>F</th>\n",
       "      <th>M</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>decade</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1960</th>\n",
       "      <td>1753634</td>\n",
       "      <td>1846572</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1970</th>\n",
       "      <td>16263075</td>\n",
       "      <td>17121550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1980</th>\n",
       "      <td>18310351</td>\n",
       "      <td>19243452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1990</th>\n",
       "      <td>19479454</td>\n",
       "      <td>20420553</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000</th>\n",
       "      <td>18229309</td>\n",
       "      <td>19106428</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "gender         F         M\n",
       "decade                    \n",
       "1960     1753634   1846572\n",
       "1970    16263075  17121550\n",
       "1980    18310351  19243452\n",
       "1990    19479454  20420553\n",
       "2000    18229309  19106428"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births['decade'] = 10 * (births['year'] // 10)\n",
    "births.pivot_table('births', index='decade', columns='gender', aggfunc='sum')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We immediately see that male births outnumber female births in every decade.\n",
    "To see this trend a bit more clearly, we can use the built-in plotting tools in Pandas to visualize the total number of births by year (see [Introduction to Matplotlib](04.00-Introduction-To-Matplotlib.ipynb) for a discussion of plotting with Matplotlib):\n",
    "\n",
    "我们会立刻发现男孩的出生人数在每一个年代都超过了女孩。为了更加清晰地看到这个趋势，我们可以使用Pandas內建的图表工具来展示每年的男孩女孩的出生总数情况（参见[Matplotlib介绍](04.00-Introduction-To-Matplotlib.ipynb)）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "sns.set()  # 设置使用seaborn风格图表\n",
    "births.pivot_table('births', index='year', columns='gender', aggfunc='sum').plot()\n",
    "plt.ylabel('total births per year');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> With a simple pivot table and ``plot()`` method, we can immediately see the annual trend in births by gender. By eye, it appears that over the past 50 years male births have outnumbered female births by around 5%.\n",
    "\n",
    "使用一个简单的数据透视表和內建的`plot()`方法，我们可以很容易的画出区分性别的出生数趋势图。用肉眼观测，可知在过去的50年中，男孩出生数大致比女孩出生数高出5%。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Further data exploration\n",
    "\n",
    "### 进一步数据分析\n",
    "\n",
    "> Though this doesn't necessarily relate to the pivot table, there are a few more interesting features we can pull out of this dataset using the Pandas tools covered up to this point.\n",
    "We must start by cleaning the data a bit, removing outliers caused by mistyped dates (e.g., June 31st) or missing values (e.g., June 99th).\n",
    "One easy way to remove these all at once is to cut outliers; we'll do this via a robust sigma-clipping operation:\n",
    "\n",
    "虽然下面的内容不一定与数据透视表有关，但是我们使用目前学习到的Pandas知识，就能从数据集中获得更多有趣的特征。首先我们应该对数据进行一定清洗，删除由于错误输入日期导致的离群值（例如6月31日）或者缺失值（例如6月99日）。一次性删除这些离群数据的简单办法是通过一种叫sigma-clipping的稳健统计操作："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 求出出生数的25%,50%和75%位置的值\n",
    "quartiles = np.percentile(births['births'], [25, 50, 75])\n",
    "mu = quartiles[1] # mu为中位数\n",
    "sig = 0.74 * (quartiles[2] - quartiles[0]) # sigma的值为75%位置与25%位置差的0.74倍"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This final line is a robust estimate of the sample mean, where the 0.74 comes from the interquartile range of a Gaussian distribution (You can learn more about sigma-clipping operations in a book I coauthored with Željko Ivezić, Andrew J. Connolly, and Alexander Gray: [\"Statistics, Data Mining, and Machine Learning in Astronomy\"](http://press.princeton.edu/titles/10159.html) (Princeton University Press, 2014)).\n",
    "\n",
    "最后一行代码是样本平均的稳健估计，0.74来源于标准正态分布的四分位距（你可以在作者与Željko Ivezić、Andrew J. Connolly和Alexander Gray合著的书[\"Statistics, Data Mining, and Machine Learning in Astronomy\"](http://press.princeton.edu/titles/10159.html)(Princeton University Press, 2014)中学习到更多有关sigma-clipping方法的知识）。\n",
    "\n",
    "译者注：对于标准正态分布来说，均值为0，四分位距位于[-0.67448, 0, 0.67448]的位置，因此 IQR = Q3 - Q1 = 0.67448- (-0.67448) = 1.34896，得 $\\frac{1}{1.34896}=0.74131$。可以用以下代码进行简单验证：\n",
    "\n",
    "```python\n",
    "In [20]: a = np.random.standard_normal(10000)\n",
    "\n",
    "In [21]: iq = np.percentile(a, [25, 50, 75])\n",
    "\n",
    "In [22]: iq\n",
    "Out[22]: array([-0.6510475 ,  0.02099125,  0.68378426])\n",
    "\n",
    "In [23]: 1/(iq[2] - iq[0])\n",
    "Out[23]: 0.749158077468436\n",
    "```\n",
    "\n",
    "> With this we can use the ``query()`` method (discussed further in [High-Performance Pandas: ``eval()`` and ``query()``](03.12-Performance-Eval-and-Query.ipynb)) to filter-out rows with births outside these values:\n",
    "\n",
    "然后我们可以使用`query()`方法来过滤掉偏离中位数5倍sigma值之外的所有数据（`query()`方法我们会在[高性能Pandas: eval() 和 query()](03.12-Performance-Eval-and-Query.ipynb)小节中详细讨论）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "births = births.query('(births > @mu - 5 * @sig) & (births < @mu + 5 * @sig)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Next we set the ``day`` column to integers; previously it had been a string because some columns in the dataset contained the value ``'null'``:\n",
    "\n",
    "下面我们将日期`day`列设为整数类型；原本该列具有字符串类型因为数据集中该列存在值`'null'`："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将day列设置为整数类型\n",
    "births['day'] = births['day'].astype(int)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Finally, we can combine the day, month, and year to create a Date index (see [Working with Time Series](03.11-Working-with-Time-Series.ipynb)).\n",
    "This allows us to quickly compute the weekday corresponding to each row:\n",
    "\n",
    "最后，我们可以将年月日合并在一起成为一个时间序列（参见[在时间序列上操作](03.11-Working-with-Time-Series.ipynb)）。这令我们可以很方便的求出每一行日期是周几："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用年月日构造一个时间序列\n",
    "births.index = pd.to_datetime(10000 * births.year +\n",
    "                              100 * births.month +\n",
    "                              births.day, format='%Y%m%d')\n",
    "\n",
    "births['dayofweek'] = births.index.dayofweek"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Using this we can plot births by weekday for several decades:\n",
    "\n",
    "然后我们就可以按照星期中的天数来绘制出生数图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "\n",
    "births.pivot_table('births', index='dayofweek',\n",
    "                    columns='decade', aggfunc='mean').plot()\n",
    "plt.gca().set_xticklabels(['Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat', 'Sun'])\n",
    "plt.ylabel('mean births by day');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Apparently births are slightly less common on weekends than on weekdays! Note that the 1990s and 2000s are missing because the CDC data contains only the month of birth starting in 1989.\n",
    "\n",
    "很明显，出生数在休息日要比工作日少。还要注意到1990和2000年代数据缺失，原因是疾控中心的数据从1989年开始就只包含月份信息了。\n",
    "\n",
    "> Another intersting view is to plot the mean number of births by the day of the *year*.\n",
    "Let's first group the data by month and day separately:\n",
    "\n",
    "另一个有趣的视角是分析每年每天的平均出生数。首先我们将月份和日期进行分组求平均值："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">1</th>\n",
       "      <th>1</th>\n",
       "      <td>4009.225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4247.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4500.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4571.350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>4603.625</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       births\n",
       "1 1  4009.225\n",
       "  2  4247.400\n",
       "  3  4500.900\n",
       "  4  4571.350\n",
       "  5  4603.625"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births_by_date = births.pivot_table('births', \n",
    "                                    [births.index.month, births.index.day])\n",
    "births_by_date.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> The result is a multi-index over months and days.\n",
    "To make this easily plottable, let's turn these months and days into a date by associating them with a dummy year variable (making sure to choose a leap year so February 29th is correctly handled!)\n",
    "\n",
    "结果当然，是一个月份和日期的多重索引数据集。然后需要简单的绘制图表，我们可以将上面的月份日期随便放在一个闰年年份中形成完整的时间序列（闰年是为了保证2月29日也能包含在结果集中）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>births</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2012-01-01</th>\n",
       "      <td>4009.225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-02</th>\n",
       "      <td>4247.400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-03</th>\n",
       "      <td>4500.900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-04</th>\n",
       "      <td>4571.350</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2012-01-05</th>\n",
       "      <td>4603.625</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              births\n",
       "2012-01-01  4009.225\n",
       "2012-01-02  4247.400\n",
       "2012-01-03  4500.900\n",
       "2012-01-04  4571.350\n",
       "2012-01-05  4603.625"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "births_by_date.index = [pd.datetime(2012, month, day)\n",
    "                        for (month, day) in births_by_date.index]\n",
    "births_by_date.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Focusing on the month and day only, we now have a time series reflecting the average number of births by date of the year.\n",
    "From this, we can use the ``plot`` method to plot the data. It reveals some interesting trends:\n",
    "\n",
    "我们只需要关注数据集中的月份和日期，上面的结果已经是一个时间序列上每天出生数的平均值。然后我们就可以使用`plot`方法来绘制图表。结果会反映一些有趣的趋势："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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CCGEEEKI/q7bIFoIIYQQQgjhTXYsFEIIIYQQIkASRAshhBBCCBEgCaKFEEIIIYQIkATRQgghhBBCBEiCaCGEEEIIIQIkQbQQQgghhBABkiBaCCGEEEKIAEkQLYQQQgghRID6bRCdm5tLQUFBXw/jnMjNzWXevHksXryYxYsX89RTT3X5/FtvvZVPPvnkPI0ucLm5ucyePRuHw6E9tmHDBrKzs3njjTf6cGRnX11dHRMmTODJJ5/s66GcFYPpvYPg/l5R+TPHgfjvEGyfPV+2bNnCkiVLWLx4MfPmzeMXv/hFXw/prLFarfz3f/83c+fOZd68eSxZsoRt27Z1+ZqioiL+8pe/nKcR9k5ubi4LFizA6XR6PTbQPme+qDHLokWLuOKKK/jpT3/K7t27+3pY/YKhrwcwWP32t78lKyurr4dx1iQmJrJ9+3YuvfRSAN577z3GjRsX0M+w2+0YDP37V3LTpk1MnjyZzZs389BDD2Eymfx+rdPpRFEUFEU5hyMM3Nl474Q413rz2RsIysvL+dWvfsW7775LamoqLpeLQ4cO9fWwzprHH3+c5uZmNm/ejNlspqCggDvvvJPo6GguuOACn685ffo0f/nLX7j55pvP82h7prm5mffff59rr722r4dy1rWNWT7++GPuuusu1q9fz6RJk/p4ZH2r32aiVa+//jrXX389S5Ys4eabb+bgwYPasezsbF5++WWuv/565syZw0cffdSHI+2dxsZGHn30UW644QYWLlzIE0884ZUd/OKLL7j11lu54ooreP755/twpL5de+21bNy4EYBTp07R0tKifeD+85//cPPNN7NkyRIWLlzI5s2btdfdeuutPP/889x2220sW7asT8YeiA0bNrBs2TKysrLIy8sD4MUXX+RnP/sZP/nJT7jmmmu47777aGho0I4tX76cZcuWsXjxYurr6/ty+D715L3bt28fCxYs8Po5ixYtGjDZifYZorZ/zs3N5YUXXuDmm28mNzd3wGbku5rjQOTrs7dixQqv96ftn8vKyrjtttu45ppruOeee7jnnnv69XtZWVmJwWAgJiYGAEVRyMnJAeCbb77h1ltv5brrruO6667j008/BdyZ2pkzZ/L0009r545du3b11RQ6dfr0abZs2cLjjz+O2WwGICsri3vuuYd169YB8Morr7Bw4UIWLVrE0qVLcTqdrF27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\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制每年每天的出生数平均值\n",
    "fig, ax = plt.subplots(figsize=(12, 4))\n",
    "births_by_date.plot(ax=ax);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "> In particular, the striking feature of this graph is the dip in birthrate on US holidays (e.g., Independence Day, Labor Day, Thanksgiving, Christmas, New Year's Day) although this likely reflects trends in scheduled/induced births rather than some deep psychosomatic effect on natural births.\n",
    "For more discussion on this trend, see the analysis and links in [Andrew Gelman's blog post](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/) on the subject.\n",
    "We'll return to this figure in [Example:-Effect-of-Holidays-on-US-Births](04.09-Text-and-Annotation.ipynb#Example:-Effect-of-Holidays-on-US-Births), where we will use Matplotlib's tools to annotate this plot.\n",
    "\n",
    "上图这个引人注目的结果表明出生率在美国假期的日期中都会下降（例如独立日、劳动节、感恩节、圣诞节和新年），当然这并不代表节日对自然出生率在生物学上造成了影响，而是反映了医学上对生育的额外处理的趋势。对于有关这个趋势更多的讨论，可以参看[Andrew Gelman's blog post](http://andrewgelman.com/2012/06/14/cool-ass-signal-processing-using-gaussian-processes/)。我们会在[第四章第九节例子:节日对美国生育率的影响](04.09-Text-and-Annotation.ipynb#Example:-Effect-of-Holidays-on-US-Births)中继续深入讨论这个图表，学习使用Matplotlib工具来标注这个图表。\n",
    "\n",
    "> Looking at this short example, you can see that many of the Python and Pandas tools we've seen to this point can be combined and used to gain insight from a variety of datasets.\n",
    "We will see some more sophisticated applications of these data manipulations in future sections!\n",
    "\n",
    "看完了这个简短的例子，你就可以发现我们已经学习到的很多Python和Pandas的工具可以联合使用来深入分析不同的数据集以获得需要的结果。在后续章节中我们会看到一些对于数据的操作更复杂的应用。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [聚合与分组](03.08-Aggregation-and-Grouping.ipynb) | [目录](Index.ipynb) | [向量化的字符串操作](03.10-Working-With-Strings.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/wangyingsm/Python-Data-Science-Handbook/blob/master/notebooks/03.09-Pivot-Tables.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
